﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Tsual.DataPipeline
{
    public interface IConvertible<T>
    {
        T Convert();
    }
    public interface IConvertible<T,TCondition>
    {
        T Convert(TCondition condition);
    }
    public interface IConvertor<T0, T1>
    {
        T0 Convert(T1 obj);
        T1 Convert(T0 obj);
    }
    public class DefaultEqualConvertor<T> : IConvertor<T, T>
    {
        public T Convert(T obj) => obj;
    }
    public interface IHubConvertor<T,TMeta,TMetaOut>
    {
        TMetaOut Convert(T data, TMeta meta);
    }
}
